package fdupc.date;

import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;

/**
 * 类描述:  日期操作常量
 *
 * @author 王雷
 * @version 1.0.0
 * @date 2022/10/2 0002 下午 8:10
 */
public class DateUtilConstant {

    /**
     * 属性描述：日期格式
     * <br />
     * 带小时分秒
     * @date: 2022/10/2 0002 下午 8:12
     */
    public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    /**
     * yyyyMMddHHmmss
     */
    public static final String PATTERN_YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
    /**
     * yyyyMMdd
     */
    public static final String PATTERN_YYYYMMDD = "yyyyMMdd";

    /**
     * 属性描述：日期格式
     * <br />
     * 年月日格式
     * @date: 2022/10/2 0002 下午 8:12
     */
    public static final String DATE_FORMAT = "yyyy-MM-dd";

    /**
     * 属性描述：日期格式
     * <br />
     * 带小时分秒
     * @date: 2022/10/2 0002 下午 8:12
     */
    public static final String TIME_FORMAT = "HH:mm:ss";

    /**
     * 功能描述：日期格式化处理对象
     * <br/>
     * 用于日期转字符串
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static DateTimeFormatter giveDateTimeFormatter(String formatValue){
        return DateTimeFormatter.ofPattern(formatValue);
    }

    /**
     * 功能描述：日期格式化处理对象
     * <br/>
     * 用于字符串转日期
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static SimpleDateFormat giveSimpleDateFormat(String formatValue){
        return new SimpleDateFormat(formatValue);
    }

    /**
     * 功能描述：日期格式化处理对象
     * <br />
     * 小时分秒格式
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static DateTimeFormatter giveDateTime(String formatValue){
        return giveDateTimeFormatter(formatValue);
    }

    /**
     * 功能描述：日期格式化处理对象
     * <br />
     * 小时分秒格式
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static DateTimeFormatter giveDateTime(){
        return giveDateTimeFormatter(DATE_TIME_FORMAT);
    }

    /**
     * 功能描述：日期格式化处理对象
     * <br />
     * 仅日期格式
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static DateTimeFormatter giveDate(){
        return giveDateTimeFormatter(DATE_FORMAT);
    }

    /**
     * 功能描述：日期格式化处理对象
     * <br />
     * 仅时间格式
     * @date: 2022/10/2 0002 下午 8:35
     */
    public static DateTimeFormatter giveTime(){
        return giveDateTimeFormatter(TIME_FORMAT);
    }
}
